package com.aatattoo.light_food_service.mapper;

import com.aatattoo.light_food_service.entity.Dynamic;
import com.aatattoo.light_food_service.entity.DynamicImg;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @Author aatattoo
 * @Date 2021/12/9 10:05 下午
 * @msg:
 */
@Mapper
@Repository
public interface DynamicImgMapper {
    /**
     * 批量上传增加图片，未新添加图片增加图片排序与图片地址
     * @param dynamicImg #{address}图片地址,#{order}图片排序
     * @return
     */
    int addDynamicImg(DynamicImg dynamicImg);

    /**
     * 对已上传图片更新管理的表单id，使信息绑定起来
     * @param dynamicImg #{dynamicID}表单id id=#{id}当前图片表id
     * @return
     */
    int updataDynamicImg(DynamicImg dynamicImg);

    /**
     * 表单修改，新增的图片信息，设置表单id信息绑定，
     * 并排序
     * @param dynamicImg #{dynamicID}表单id,#{order}排序 ，#{id}当前图片表id
     * @return
     */
    int updataDynamicImgOrder(DynamicImg dynamicImg);

    /**
     * 通过表单id，获取所有图片映射内容
     * @param dynamicId #{dynamicId}表单id
     * @return
     */
    List<DynamicImg> findByDynamicId(@Param("dynamicId") int dynamicId);

    /**
     * 通过表单id获取所有图片表主键Id
     * @param dynamicId #{dynamicId}表单id
     * @return
     */
    List<Object> getID(@Param("dynamicId") int dynamicId);

    /**
     * 删除多个内容
     * 删除与当前表单id相关的所有图片映射内容
     * @param dynamicId #{dynamicId}图片表单id
     * @return
     */
    int deleteDynamicImg(@Param("dynamicId") int dynamicId);

    /**
     * 删除一个内容
     * 通过图片表主键id删除对应行内容
     * @param id #{id}图片表id
     * @return
     */
    int deleteById(@Param("id")int id);

    /**
     * 更新图片表单排序
     * @param dynamicImg #{order}排序，#{id}图片表id
     * @return
     */
    int updataDynamicOrder(DynamicImg dynamicImg);

    /**
     * 获取图片全部映射内容
     * @param id #{id}  图片表id
     * @return
     */
    DynamicImg findById(@Param("id") int id);

    /**
     * 获取表单对应所有图片映射内容
     * @param dynamicId #{dynamicId}表单id
     * @return
     */
    List<DynamicImg> findAllByDynamicID(@Param("dynamicId")int dynamicId);

    String findFirstByDynamicId(@Param("dynamicId")int dynamicId);


}
